package com.xxl.dao.user;

import com.xxl.dto.UserDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * 用户表
 * @author xxl
 * @date 2023/3/29
 */
@Mapper
public interface UserMapper {
    /**
     * 查找某个用户
     * @author xxl
     * @param  username
     * @return UserVo
     */
    String findByUsername(@Param("username") String username);
    /**
     * 通过姓名，修改某个用户
     * @author xxl
     * @param  userDto
     * @param  username
     * @return int
     */
    int modifyUser(String username,UserDto userDto);
    /**
     *  添加某个用户
     * @author xxl
     * @param  userDto
     * @return int
     */
    int addUser(UserDto userDto);
    /**
     *  通过用户名删除某个用户
     * @author xxl
     * @param  username
     * @return int
     */
    int deleteUserByUsername(@Param("username") String username);
    /**
     * 查找某个用户，模糊查询
     * @author xxl
     * @param  username
     * @return UserDto
     */
    List<UserDto> queryUserByUsername(@Param("username") String username);

    /**
     * 管理员权限：查询所有用户
     * @author xxl
     * @return  List<UserVo>
     */
    List<UserDto> queryAllUser();

    /**
     * 登录
     * @param username
     * @param  password
     * @return  UserDto
     */
    UserDto login(@Param("username")String username,@Param("password")String password);

}
